1. Field of the Invention
The present invention relates generally to synchronizing a source device and a sink device.
2. Background Art
Clock synchronization between a transmitter and a receiver is an important aspect of data communications. Often, clock synchronization refers to the clock frequency used to transmit data over a physical link connecting a transmitter and receiver. However, in some data communications applications, the receiver is required to determine a clock frequency that is not the clock frequency of the physical link. For example, a receiver such as a television display may be required to determine the clock frequency at which a data source such as a DVD decoder outputs a stream of data. Data streams where the receiver requires the clock rate at which the original data is sourced to the transmitter are called isochronous data streams.
Known methods exist for the transmission of isochronous data streams. One conventional method requires the source device to transmit one or more parameters to the sink device that relates the source data rate to the link data rate. However, depending on the link data rate when the link data rates at the source and sink differ can lead to incompatibilities. Another conventional method utilizes a buffer at the sink device where the depth of the buffer is used by the sink to determine a clock rate. However, relying on a buffer introduces variable delays and expensive buffer requirements. Yet another conventional method requires any intermediate device to regenerate the rate parameters transmitted by the source device based on the data rates of its incoming and outgoing link rates. However, requiring intermediate devices to regenerate the rate parameters adds complexity and costs to such devices.
What are needed, therefore, are improved methods and systems to enable a sink device to recover the clock rate of a source data stream. More particularly, what are needed are improved methods for synchronizing a source device and a sink device during the transmission of an isochronous data stream.